今天因緣際會參加了一間公司的面試
而在與其成員聊天的過程中有提及在早些日子時 Flutter
在與原生裝置上的互動可能時常會出現問題
那其中一環便包括了 Image Editor
因此我今天想要稍微來查詢看看目前針對這項功能有多少種的實作方式
以及平台的支援性如何
而除此之外在公司的取決上畫面呈現為主的應用程式會是以 Flutter 來作為開發
與原生平台互動性強烈的應用程式則會選擇使用 React Native
而剩下的就讓我們開始今天的研究吧
image_editor
效果 Demo
目前這個套件支援 MacOS、Android、iOS
而底下則是來閱讀一下與原生部分互動的程式碼片段
而這部分則是透過先前所提及過的 Channel來進行互動
/// Handle memory source and get momory result.
static Future<Uint8List> memoryToMemory(
Uint8List memory,
ImageEditorOption option,
) async {
if (option.options.isEmpty || option.canIgnore) {
return memory;
}
final result = await channel.invokeMethod('memoryToMemory', {
'image': memory,
'options': option.toJson(),
'fmt': option.outputFormat.toJson(),
});
return result;
}
而這個套件主要處理的部分便是圖片的編輯、上傳、儲存等功能
因此如果在實際業務上是需要使用到時
可以透過這個套件來進行實作
因此看起來在目前的支援涵蓋度已經算是挺完善了
相信目前在各項功能上的第三方套件也會逐漸補上來